import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
    state: {
        // 👇 从 localStorage 初始化 token（防止刷新丢失）
        token: localStorage.getItem('token') || ''
    },
    getters: {
        // ✅ 必须有这个 getter
        token: state => state.token
    },
    mutations: {
        // ✅ 设置 token，并持久化到 localStorage
        SET_TOKEN(state, token) {
            state.token = token
            localStorage.setItem('token', token)
        },
        // 可选：清除 token
        CLEAR_TOKEN(state) {
            state.token = ''
            localStorage.removeItem('token')
        }
    },
    actions: {
        // ✅ 登录时调用这个 action
        login({ commit }, token) {
            commit('SET_TOKEN', token)
        },
        // 登出
        logout({ commit }) {
            commit('CLEAR_TOKEN')
        }
    },
    modules: {}
})